home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1997 / HAM Radio 1997.iso / vcls / wfc007.000 / include / drawobj.hpp < prev    next >
C/C++ Source or Header  |  1996-04-08  |  3KB  |  128 lines

  1. #if ! defined ( DRAWING_OBJECTS_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like.
  9. */
  10.  
  11. #define DRAWING_OBJECTS_CLASS_HEADER
  12.  
  13. class CRectangle : public CObject
  14. {
  15.    DECLARE_SERIAL( CRectangle )
  16.  
  17.    protected:
  18.  
  19.       void m_Initialize( void );
  20.       void m_SetRectangles( void );
  21.  
  22.       DWORD m_Height;
  23.       DWORD m_Width;
  24.  
  25.       COLORREF m_LineColor;
  26.       COLORREF m_FillColor;
  27.  
  28.       CPoint m_Location;
  29.  
  30.       CRect m_LineRectangle;
  31.       CRect m_FillRectangle;
  32.  
  33.    public:
  34.  
  35.       CRectangle();
  36.       CRectangle( DWORD height, DWORD width, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  37.  
  38.       virtual ~CRectangle();
  39.  
  40.       virtual void     Copy( const CRectangle& source );
  41.       virtual void     Copy( const CRectangle *source_p );
  42.       virtual void     Draw( CDC& device_context );
  43.       virtual COLORREF GetFillColor( void ) const;
  44.       virtual DWORD    GetHeight( void ) const;
  45.       virtual COLORREF GetLineColor( void ) const;
  46.       virtual void     GetRectangle( CRect& destination ) const;
  47.       virtual DWORD    GetWidth( void ) const;
  48.       virtual void     OnClick( void );
  49.       virtual void     Serialize( CArchive& archive );
  50.       virtual void     SetFillColor( COLORREF color );
  51.       virtual void     SetHeight( DWORD height );
  52.       virtual void     SetLineColor( COLORREF color );
  53.       virtual void     SetLocation( const CPoint& size );
  54.       virtual void     SetSize( const CSize& size );
  55.       virtual void     SetWidth( DWORD width );
  56. };
  57.  
  58. class CRoundedRectangle : public CRectangle
  59. {
  60.    DECLARE_SERIAL( CRoundedRectangle )
  61.  
  62.    protected:
  63.  
  64.       CPoint m_RoundingPoint;
  65.  
  66.    public:
  67.  
  68.       CRoundedRectangle();
  69.  
  70.       virtual ~CRoundedRectangle();
  71.  
  72.       virtual void  Copy( const CRoundedRectangle& source );
  73.       virtual void  Copy( const CRoundedRectangle * source_p );
  74.       virtual void  Draw( CDC& device_context );
  75.       virtual DWORD GetRoundingSize( void ) const;
  76.       virtual void  Serialize( CArchive& archive );
  77.       virtual void  SetRoundingSize( DWORD rounding_size );
  78. };
  79.  
  80. class CSquare : public CRectangle
  81. {
  82.    DECLARE_SERIAL( CSquare )
  83.  
  84.    public:
  85.  
  86.       CSquare();
  87.       CSquare( DWORD size, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  88.      
  89.       virtual ~CSquare();
  90.  
  91.       virtual void Serialize( CArchive& archive );
  92.       virtual void SetHeight( DWORD height );
  93.       virtual void SetSize( const CSize& size );
  94.       virtual void SetWidth( DWORD width );
  95. };
  96.  
  97. class CEllipse : public CRectangle
  98. {
  99.    DECLARE_SERIAL( CEllipse )
  100.  
  101.    public:
  102.  
  103.       CEllipse();
  104.       CEllipse( DWORD height, DWORD width, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  105.       
  106.       virtual ~CEllipse();
  107.  
  108.       virtual void Draw( CDC& device_context );
  109.       virtual void Serialize( CArchive& archive );
  110. };
  111.  
  112. class CCircle : public CSquare
  113. {
  114.    DECLARE_SERIAL( CCircle )
  115.  
  116.    public:
  117.  
  118.       CCircle();
  119.       CCircle( DWORD size, const CPoint& location, COLORREF fill_color = WHITE, COLORREF line_color = BLACK );
  120.       
  121.       virtual ~CCircle();
  122.  
  123.       virtual void Draw( CDC& device_context );
  124.       virtual void Serialize( CArchive& archive );
  125. };
  126.  
  127. #endif // DRAWING_OBJECTS_CLASS_HEADER
  128.